AWK একটি অত্যন্ত শক্তিশালী এবং বহুমুখী টুল যা জটিল ডেটা প্রসেসিংয়ের কাজ সহজে সম্পন্ন করতে পারে। জটিল ডেটা প্রসেসিংয়ের জন্য AWK এর শক্তি পুরোপুরি ব্যবহার করা যেতে পারে, যেমন একাধিক শর্ত প্রয়োগ করা, ফাংশন ব্যবহার করা, লুপিং এবং ডেটা ফিল্টারিং ইত্যাদি। নিচে জটিল ডেটা প্রসেসিংয়ের জন্য একটি উদাহরণসহ স্ক্রিপ্ট তৈরি করার পদ্ধতি দেখানো হলো।
ধরা যাক, আমাদের একটি sales_data.txt
ফাইল রয়েছে, যেখানে প্রতিটি লাইনে রয়েছে: বিক্রেতার নাম, পণ্যের নাম, বিক্রয় সংখ্যা, এবং বিক্রয় মূল্য। ফাইলটি দেখতে এমন:
John,ProductA,10,15.50
Emily,ProductB,5,20.00
John,ProductC,7,18.00
Sophia,ProductA,12,15.50
Emily,ProductA,9,15.50
আমরা চাই:
awk -F, '
# BEGIN ব্লকে শিরোনাম প্রিন্ট করা হচ্ছে
BEGIN {
print "Sales Report"
print "---------------------"
}
# প্রতিটি লাইন প্রক্রিয়াকরণ
{
salesperson = $1 # বিক্রেতার নাম
sales_count = $3 # বিক্রয় সংখ্যা
sales_value = $3 * $4 # বিক্রয় মূল্য
# মোট বিক্রয়ের সংখ্যা যোগ করা
total_sales[salesperson] += sales_count
# মোট বিক্রয় মূল্য যোগ করা
total_revenue[salesperson] += sales_value
}
# END ব্লকে ফলাফল প্রিন্ট করা হচ্ছে
END {
print "Name | Total Sales | Total Revenue"
print "---------------------------------------"
for (person in total_sales) {
printf "%-8s | %-11d | $%-12.2f\n", person, total_sales[person], total_revenue[person]
}
}' sales_data.txt
-F,
অপশন: কমা দিয়ে আলাদা করা ডেটা প্রক্রিয়াকরণের জন্য ফিল্ড সেপারেটর নির্ধারণ করা হয়েছে।BEGIN
ব্লক: স্ক্রিপ্টের শুরুতে একবার চালিত হয় এবং শিরোনাম প্রিন্ট করে।total_sales[salesperson]
এবং total_revenue[salesperson]
: অ্যারে ব্যবহার করে প্রতিটি বিক্রেতার মোট বিক্রয় সংখ্যা এবং মোট আয় সংরক্ষণ করা হয়েছে।END
ব্লক: স্ক্রিপ্টের শেষে চালিত হয় এবং সব বিক্রেতার জন্য আউটপুট প্রিন্ট করে।Sales Report
---------------------
Name | Total Sales | Total Revenue
---------------------------------------
John | 17 | $324.50
Emily | 14 | $310.50
Sophia | 12 | $186.00
এই স্ক্রিপ্টে আপনি আরও শর্ত এবং ফিল্টারিং যোগ করতে পারেন, যেমন:
awk -F, '$3 > 10 { print $1 " has sold more than 10 units of " $2 }' sales_data.txt
AWK ব্যবহার করে জটিল ডেটা প্রসেসিংয়ের জন্য শক্তিশালী স্ক্রিপ্ট তৈরি করা যায়। অ্যারে, শর্ত, এবং লুপ ব্যবহার করে AWK প্রোগ্রামিং সহজে বিভিন্ন স্তরের বিশ্লেষণ করতে পারে। এই স্ক্রিপ্টগুলি ব্যবহার করে আপনি আপনার ডেটা বিশ্লেষণকে আরও কার্যকর এবং স্বয়ংক্রিয় করতে পারেন।
common.read_more